HEX
Server: LiteSpeed
System: Linux eticaretsrv4.isimtescil.net 3.10.0-962.3.2.lve1.5.26.7.el7.x86_64 #1 SMP Wed Oct 2 07:53:12 EDT 2019 x86_64
User: sioberen (1086)
PHP: 7.3.33
Disabled: NONE
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/cllimits/lib/__init__.py
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

from __future__ import absolute_import
import subprocess


def exec_utility(util_path, params, stderr=False):
    """
    Executes supplied utility with supplied parameters
    :param util_path: string with path to callable utility
    :param params: utility parameters
    :param stderr: trigger to return stderr or not
    :return: Cortege (ret_code, cagefsctl_stdout) if stderr is False
             Cortege (ret_code, cagefsctl_stdout, cagefsctl_stderr) otherwise
    """
    args = list()
    args.append(util_path)
    args.extend(params)
    process = subprocess.Popen(
        args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
    out, err = process.communicate()
    retcode = process.returncode
    if stderr:
        return (retcode, out.strip(), err.strip())
    return retcode, out.strip()